Foundations of Probability in Python